package main

import "net/http"

/*
HTTP协议服务端实现
	Go语言标准库内置的net/http包，可以实现HTTP服务端。实现HTTP服务端就是能够启动Web服务，相当于搭建起了一个Web服务器。
	这样客户端就可以通过网页请求来与服务器端进行交互
*/
func main() {

	/*
		一. 使用http. FileServer ()方法
			TIPS：
				1. http.FileServer()搭建的服务器只提供静态文件的访问。因为这种web服务只支持静态文件访问，所以称之为静态文件服务；
				2. http.ListenAndServer()函数用来启动Web服务，绑定并监听http端口。其中第一个参数为监听地址，
				   第二个参数表示提供文件访问服务的HTTP处理器Handler；
				3. Handler是一个接口，其中只有ServeHTTP(http.ResponseWriter,*http.Request)这一个方法，只要实现了该方法，那么就自动实现了Handler接口
				4. http.FileServer()正好可以返回Handler类型，也就是可以提供文件访问服务的HTTP处理器。FileServer()的参数是FileSystem接口，
				   可使用http.Dir()来指定服务端文件所在的路径。如果该路径中有index.html文件，则会优先显示html文件，否则会显示文件目录
	*/
	_ = http.ListenAndServe(":2003", http.FileServer(http.Dir(".")))
}
